/***************************************************************************
 创建者：华磊
 开始时间：         : 2020.11.16
 copyright            : (C) 深圳市华友高科有限公司
 修改说明：（每次有修改就添加一条，带有 修改人，修改时间，修改描述）

 ***************************************************************************
 *   程序指令视窗——常用窗口
*                                                                         *
 ***************************************************************************/
#ifndef INSTRUCTIONMENU_H
#define INSTRUCTIONMENU_H

#include <QWidget>

namespace Ui {
class InstructionMenu;
}

class ButtonFunctionMap;

/**
 * @brief The InstructionMenu class　常用指令视窗类
 */
class InstructionMenu : public QWidget
{
    Q_OBJECT

public:
    explicit InstructionMenu(ButtonFunctionMap *funcMapIn, QWidget *parent = 0);
    ~InstructionMenu();

    void changeLanguage();
    void initialButtonText();

signals:
    /**
     * @brief oftenForwardPage      上一页信号函数
     */
    void oftenForwardPage();

    /**
     * @brief oftenNextPage         下一页信号函数
     */
    void oftenNextPage();


private slots:   
//    /**
//     * @brief on_forwardPage_Btn_clicked    上一页响应槽函数
//     */
//    void on_forwardPage_Btn_clicked();

    /**
     * @brief on_nextPage_Btn_clicked   下一页响应槽函数
     */
    void on_nextPage_Btn_clicked();

    /**
     * @brief on_jCom_Btn_clicked       关节指令响应槽函数
     */
    void on_jCom_Btn_clicked();

    /**
     * @brief on_lCom_Btn_clicked       直线指令响应槽函数
     */
    void on_lCom_Btn_clicked();

    /**
     * @brief on_arcCom_Btn_clicked     圆弧指令响应槽函数
     */
    void on_arcCom_Btn_clicked();

    /**
     * @brief on_labelCom_Btn_clicked   标签指令响应槽函数
     */
    void on_labelCom_Btn_clicked();

    /**
     * @brief on_jumpCom_Btn_clicked    跳转指令响应槽函数
     */
    void on_jumpCom_Btn_clicked();

    /**
     * @brief on_conditionCom_Btn_clicked   条件指令响应槽函数
     */
    void on_conditionCom_Btn_clicked();

    /**
     * @brief on_waitCom_Btn_clicked    等待指令响应槽函数
     */
    void on_waitCom_Btn_clicked();

    /**
     * @brief on_num_IO_Btn_clicked     数字信号
     */
    void on_num_IO_Btn_clicked();

    /**
     * @brief on_analog_IO_Btn_clicked  模拟信号
     */
    void on_analog_IO_Btn_clicked();


    /**
     * @brief on_moveMagCom_Btn_clicked     磁导航指令响应槽函数
     */
    void on_moveMagCom_Btn_clicked();

    /**
     * @brief on_moveMagCom_Btn_2_clicked   自由导航指令响应槽函数
     */
    void on_moveMagCom_Btn_2_clicked();

    void on_resetOdometry_Btn_clicked();

private:


private:
    Ui::InstructionMenu *ui;
    ButtonFunctionMap *funcMap;

};

#endif // INSTRUCTIONMENU_H
